<template>
    <div>
      <div class="bg-white grid-content">
        <div style="overflow: hidden; ">
          <div class="mytitle">
            <svg-icon icon-class="rdjjfzzl" class="myIcon" />入党积极分子材料数据审核
          </div>
        </div>
        <!-- 表格 -->
        <el-table :data="tableData" border style="width: 100%"
          :header-cell-style="{ background: '#F5F7FA', color: '#909399' }">
          <el-table-column type="index" label="序号" :index="indexMethod"></el-table-column>
          <el-table-column align="center" prop="unit" label="单位"></el-table-column>
          <el-table-column align="center" prop="szzb" label="所在支部"></el-table-column>
          <el-table-column align="center" prop="name" label="姓名"></el-table-column>
          <el-table-column align="center" prop="sex" label="性别"></el-table-column>
          <el-table-column align="center" prop="ethnic" label="民族"></el-table-column>
          <el-table-column align="center" prop="birth" label="出生日期"></el-table-column>
          <el-table-column align="center" prop="position" label="职务"></el-table-column>
          <el-table-column align="center" prop="education" label="文化程度"></el-table-column>
          <el-table-column align="center" prop="timeApplication" label="写申请时间"></el-table-column>
          <el-table-column align="center" prop="timeDecide" label="定积极分子时间"></el-table-column>
          <el-table-column align="center" prop="ifIndustrialOneline" label="是否生产工作一线"></el-table-column>
          <el-table-column align="center" prop="ifWorkOneline" label="其中:工作生产一线"></el-table-column>
          <el-table-column align="center" prop="ifExcllent" label="是否先进模范"></el-table-column>
          <el-table-column align="center" prop="teacher1" label="培养人1"></el-table-column>
          <el-table-column align="center" prop="teacher2" label="培养人2"></el-table-column>
  
          <el-table-column
            align="center"
            fixed="right"
            prop="approveStatus"
            label="审核状态"
            >
            <template slot-scope="scope">
                <el-tag
                :type="
                    scope.row.approveStatus == '2'
                    ? 'success'
                    : scope.row.approveStatus == '1'
                    ? 'warning'
                    : scope.row.approveStatus == '0'
                    ? 'info'
                    : 'danger'
                "
                disable-transitions
                >{{
                    scope.row.approveStatus == "2"
                    ? "已通过"
                    : scope.row.approveStatus == "1"
                    ? "未审核"
                    : scope.row.approveStatus == "0"
                    ? "未提交"
                    : "未通过"
                }}</el-tag
                >
            </template>
            </el-table-column>
  
            <el-table-column align="center" fixed="right" label="操作" width="100">
                <template slot-scope="scope">
                    <el-button @click="handleClick(scope.row, 'check')" type="text"
                    >查看</el-button
                    >
                    <el-button @click="handleClick(scope.row, 'edit')" type="text"
                    >审核</el-button
                    >
                </template>
            </el-table-column>
        </el-table>
        <!-- 分页器 -->
        <el-pagination
            align="right"
            background
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="pageNo"
            :page-sizes="[5, 10, 20, 30, 40, 50]"
            :page-size="pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="total"
        >
        </el-pagination>
      </div>
  
      <!-- 弹出框 -->
      <el-dialog :title="myDialogTitle" :visible.sync="dialogFormVisible" :before-close="handleClose" custom-class="saveAsDialog">
        <el-form v-show="ischeck" :inline="true" :rules="rules" ref="rdForm" :disabled="isInput" :model="rdForm" class="demo-form-inline"
          label-position="left" label-width="190px">
          <el-divider content-position="left">文字信息</el-divider>
          <el-row>
            <el-col :span="12">
              <el-form-item label="单位:">
                <el-input v-model="rdForm.unit" placeholder="请输入单位名称"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="所在支部:">
                <el-input v-model="rdForm.szzb" placeholder="请输入所在支部名称"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="姓名:">
                <el-input v-model="rdForm.name" placeholder="请输入姓名"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="职务:">
                <el-input v-model="rdForm.position" placeholder="请输入职务"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="民族:">
                <el-input v-model="rdForm.ethnic" placeholder="请输入民族"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="性别:">
                <el-input v-model="rdForm.sex" placeholder="请输入性别"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="出生日期:">
                <el-input v-model="rdForm.birth" placeholder="请输入出生日期"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="文化程度:">
                <el-input v-model="rdForm.education" placeholder="请输入文化程度"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="培养人1:">
                <el-input v-model="rdForm.teacher1" placeholder="请输入培养人1"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="培养人2:">
                <el-input v-model="rdForm.teacher2" placeholder="请输入培养人2"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
  
          <el-divider content-position="left">时间信息</el-divider>
  
          <el-row>
            <el-col :span="12">
              <el-form-item label="写申请时间:">
                <el-date-picker v-model="rdForm.timeApplication" align="right" type="date" placeholder="请选择日期"
                  :picker-options="pickerOptions">
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="定积极分子时间:">
                <el-date-picker v-model="rdForm.timeDecide" align="right" type="date" placeholder="请选择日期"
                  :picker-options="pickerOptions">
                </el-date-picker>
              </el-form-item>
            </el-col>
          </el-row>
  
          <el-divider content-position="left">判断信息</el-divider>
          <el-row>
            <el-col :span="12">
              <el-form-item label="是否生产工作一线:">
                <el-select v-model="rdForm.ifIndustrialOneline" placeholder="是否生产工作一线" clearable>
                  <el-option v-for="item in panduans" :key="item.value" :label="item.label" :value="item.name" >
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="其中:工业生产一线:">
                <el-select v-model="rdForm.ifWorkOneline" placeholder="其中:工业生产一线:" clearable>
                  <el-option v-for="item in panduans" :key="item.value" :label="item.label" :value="item.name" rdForm.ifWorkOneline="item.label">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
          </el-row>
          <el-col :span="12">
            <el-form-item label="是否先进模范:">
              <el-select v-model="rdForm.ifExcllent" placeholder="是否先进模范" clearable>
                <el-option v-for="item in panduans" :key="item.value" :label="item.label" :value="item.name" rdForm.ifExcllent="item.label">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-form>
        
        <el-form
            v-show="!ischeck"
            :inline="true"
            :model="rdForm"
            class="demo-form-inline"
            ref="rdForm"
        >
            <el-form-item label="审核">
            <el-select
                v-model="rdForm.approveStatus"
                placeholder="请选择审核状态"
            >
                <!-- rdForm.approveStatus=='0'? rdForm.approveStatus == '未审核':rdForm.approveStatus=='1'?dymcForm.approveStatus == '通过':dymcForm.approveStatus == '不通过' -->
                <el-option label="未审核" value="1"></el-option>
                <el-option label="通过" value="2"></el-option>
                <el-option label="不通过" value="3"></el-option>
            </el-select>
            </el-form-item>

            <el-row>
            <el-form-item label="审核备注:">
                <el-input
                v-model="rdForm.approveBz"
                placeholder="请输入审核备注"
                ></el-input>
            </el-form-item>
            </el-row>
        </el-form>

        <div slot="footer" class="dialog-footer" v-show="!ischeck">
          <el-button @click="close('rdForm')">取 消</el-button>
          <el-button type="primary" @click="submitForm('rdForm')">确 定</el-button>
        </div>
      </el-dialog>
    </div>
  </template>
  
  <script>
  import rdApi from '@/api/sjtb/scgl/rdjjfzzl';
  
  export default {
    data() {
      return {
        pageNo: 1, //当前页码
        pageSize: 10, //每页显示数量
        total: 0, //总数量
  
        // table数据
        tableData: [{
  
        }],
  
        //当前页码
        currentPage: 1,
        //表单填报的数据
        rdForm: {
          approveStatus: "", //审核状态 
          approveBz: "",//审核备注
          rq: "",
          id: "",
          unit: "",//单位
          szzb: "",//所在支部
          name: "",//姓名
          sex: "",//性别
          ethnic: "",//民族
          birth: "",//出生年月
          position: "",//职务
          education: "",//文化程度
          timeApplication: "",//写申请时间
          timeDecide: "",//定积极分子时间
          ifIndustrialOneline: "",//是否生产工作一线
          ifWorkOneline: "",//其中:工业生产一线
          ifExcllent: "",//是否先进模范
          teacher1: "",//培养人1
          teacher2: "",//培养人2
        },
        rules: {
  
        },
        //时间快捷选择
        pickerOptions: {
          disabledDate(time) {
            return time.getTime() > Date.now();
          },
          shortcuts: [{
            text: '今天',
            onClick(picker) {
              picker.$emit('pick', new Date());
            }
          }, {
            text: '昨天',
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() - 3600 * 1000 * 24);
              picker.$emit('pick', date);
            }
          }, {
            text: '一周前',
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit('pick', date);
            }
          }]
        },
  
        //判断下拉框
        panduans: [{ value: '1', label: '是', name: 'true' }, { value: '2', label: '否', name: 'false' }],
        //获取当前日期
        currentTime: '',
        // 
        saveAsDialog: "",
        //编辑框是否显示
        dialogFormVisible: false,
        //弹出框是否是查看
        ischeck: false,
        //控制查看时不可更改数据
        isInput: false,
        //弹出框标题
        myDialogTitle: '',
      }
    },
    created() {
      this.search();
    },
    mounted() {
      this.filterTime();
    },
    methods: {
      /**
      * 查询列表
      */
      async search() {
        // this.pageNo = pageNo; //当前页码
        // this.pageSize = pageSize; //每页显示数量
        //发送查询请求
        let res = await rdApi.getrdList(this.pageNo, this.pageSize, 0);
        //判断是否成功
        if (res.success) {
          console.log(res.data);
          //赋值
          this.tableData = res.data.records;
          //总数量
          this.total = res.data.total;
        }
      },
      onSubmit() {
        console.log('submit!');
      },
      //关闭对话框
      handleClose(done) {
        // 清空表单
        // this.$refs["rdForm"].resetFields();
        // 清空表单校验，避免再次进来会出现上次校验的记录
        this.$refs["rdForm"].clearValidate();
        done();
      },
      // 弹框关闭触发
      close(formName) {
        this.dialogFormVisible = false;
        // 清空表单
        // this.$refs[formName].resetFields();
        // 清空表单校验，避免再次进来会出现上次校验的记录
        this.$refs[formName].clearValidate();
      },
  
      //提交表单，验证数据
      submitForm(formName) {
        this.$refs[formName].validate(async (valid) => {
          if (valid) {
            let res = null;
            console.log(this.rdForm.id + "111")
            //判断菜单ID是否为空
            if (this.rdForm.id === '') {
              this.rdForm.rq = this.currentTime;
              //发送添加请求
              res = await rdApi.addrd(this.rdForm);
            } else {
              // console.log(334345)
              res = await rdApi.updaterd(this.rdForm);
            }
            console.log(res)
            //判断是否成功
            if (res.success) {
                //   this.$message.success(res.message);
                this.$message({ message: "修改审核状态成功！", type: "success" });
              //刷新
              this.search();
              //关闭窗口
              this.dialogFormVisible = false;
            } else {
              console.log(res)
              this.$message.error(res.message);
            }
          }
        })
      },
      handleClick(row, handle) {
        this.dialogFormVisible = true;
        if (handle == 'check') {
          this.myDialogTitle = '入党积极分子材料'
          this.saveAsDialog = "saveAsDialog1";
          this.ischeck = true
          this.isInput = true;
          // this.rdForm = row
          this.$objCopy(row, this.rdForm);//把当前要编辑的数据复制到数据域，给表单回显
          this.$message({ message: '成功打开', type: 'success' });
        } else if (handle == 'edit') {
          if (row.approveStatus!=2) {
            this.myDialogTitle = '入党积极分子材料审核'
            this.saveAsDialog = "saveAsDialog2";
            this.ischeck = false;
            // this.ischeckSh = false  
            this.isInput = false;
            this.$objCopy(row, this.rdForm);//把当前要编辑的数据复制到数据域，给表单回显
            this.rdForm.approveStatus = row.approveStatus.toString();
          }else {
            this.dialogFormVisible = false;
            this.$message({ message: '已通过不可再审核！', type: 'error' });
          }
        } 
      },
      handleSizeChange(size) {
        console.log(size);
        this.pageSize = size;
        //将每页显示的数量交给成员变量
        this.search(this.pageNo, size);
      },
      /*** 当页码发生变化时触发该事件 */
      handleCurrentChange(page) {
        console.log(page);
        this.pageNo = page;
        //调用查询方法
        this.search(page, this.pageSize);
      },
      // 序号计算
      indexMethod(index) {
        // index默认在0开始，这里+1
        return index + 1 + (this.pageNo - 1) * this.pageSize
      },
      // 获取当前日期
      filterTime() {
        var date = new Date();
        var y = date.getFullYear();
        var m = date.getMonth() + 1;
        m = m < 10 ? '0' + m : m;
        var d = date.getDate();
        d = d < 10 ? '0' + d : d;
        this.currentTime = y + '-' + m + '-' + d;
      }
    },
  };
  </script>
  
  <style lang="scss" scoped>
// 标题
.mytitle {
  font-size: large;
  padding-left: 10px;
  margin-bottom: 16px;
  float: left;
}

//按钮组
.myButtons {
  float: right;
}

//格子的样式
.bg-white {
  background: #ffffff;
}

.grid-content {
  padding: 10px;
  margin-bottom: 10px;
  border-radius: 4px;
}

.calendar ::v-deep .el-button-group::before {
  display: none;
}

.calendar ::v-deep .el-button-group::after {
  display: none;
}

// 分割线样式
.el-divider--horizontal {
  display: block;
  height: 2px;
  width: 100%;
  margin: 24px 0;
}

// 表单各项的样式
.el-form-item {
  margin: 15px 10px 15px 10px;
}

//表单禁用字体样式
.el-input.is-disabled ::v-deep .el-input__inner {
  color: #606266;
}
//对话框宽度
// .customWidth{
//         width:80%;
//     }
::v-deep .saveAsDialog1 {
  width: 60% !important;
}
::v-deep .saveAsDialog2 {
  width: 20% !important;
}
//日期选择框宽度
.el-date-editor.el-input,
.el-date-editor.el-input__inner {
  width: 200px;
}

.el-input {
  width: 200px;
}
</style>